This application relates to information control systems and, specifically, to customer information control systems and methods with transient data functionality in a loosely coupled data processing environment.
Data processing application programs, including information control applications and, more particularly, customer information control applications, access and manipulate various data resources such as customer databases, print queues and display queues. Data resources are frequently accessed through an application programming interface (API) which typically provides a transparent connection between the data processing applications and their respective data resources.
Customer information control applications regularly utilize an application programming interface (API) known as the Customer Information Control System (CICS) API, which was created by the IBM Corporation, Armonk, N.Y. CICS is a trademark of the IBM Corporation.
CICS is multithreaded software running as an on-line feature in a multitasking machine environment. CICS generally runs under the operating system as a high priority program that handles requests from application programs by building tasks to execute transactions invoked at a terminal during run-time of the application programs. In other words, CICS positions itself between the operating system and the application programs with the essential role of providing a suite of control and services functions that serve as an interface between the application programs and the operating system. Application programs, in turn, are developed for implementing the CICS services, by linking the CICS services with the application programs via, for example, a program library, to form customer information database and/or data communication systems.
Hence, CICS provides a suite of functions for realizing the interface between such customer information control applications and their respective customer database or other system and data resources. The suite of CICS functions may be fashioned as a software package in a conventional CICS process server (CPS).
In a conventional data processing machine having a multithreaded operating system, multiple concurrent data processing applications can be supported. Consequently, running under the multithreaded operating system, the CPS, which is itself a multithreaded operating system, supports multiple concurrent customer information control applications, providing them its suite of CICS functions. The functionality of this data processing machine is associated with an address region being divided among its memory devices, including one or more of main memory, cache memory and virtual memory, and including a physical address space and a logical address space.
Moreover, within the address region of this data processing machine, more then one conventional CPS can reside. Each conventional CPS is capable of communicating with another CPS in the data processing machine. Each such conventional CPS defines a distinct CICS region which occupies a segment of the address region. Further, each conventional CPS provides its suite of CICS functions to a particular group of concurrent customer information control applications for interfacing with their respective data resource within their CICS region.
However, one conventional CPS cannot provide a direct interface to data resources within the CICS region of another CPS in this machine. As a result, one customer information control application in one CICS region cannot encroach directly on the respective data resource of a second customer information control application in a different CICS region. Rather, a communication path must first be established from one CPS to the next CPS for transferring, accessing and manipulating information.
In a data processing environment, more than one data processing machine can participate. Hence, one or more of the above described conventional data processing machines can form and participate in a data processing environment. Each of these machines may include one or more than one distinct CICS region. However, as mentioned, one conventional CPS cannot directly interface with data resources in the CICS region of a second conventional CPS. Hence, within this conventional data processing environment, interface with data resources on different data processing machines also cannot be direct.
As a result, such data processing environments are inflexible. Furthermore, since the functionality of each machine is typically managed by a processor, various processes including one or more customer information control applications and, in turn, one or more conventional CPSs compete for processor attention. Namely, all of the above processes contend for instruction cycles of the processor.
Hence, a need exists for a more flexible data processing environment. A need further exists for a data processing environment in which data resources sharing is not hindered by cumbersome mechanisms. The present invention addresses this and related purposes.
A preferred embodiment of the present invention provides a customer information control system (CICS) application programming interface (API), with transient data queue functions, in a loosely coupled data processing environment. In accordance with the purpose of the invention, as embodied and broadly described herein, the invention is directed to a method, system and computer readable medium including program instructions (hereafter collectively referred to as xe2x80x9cthe inventionxe2x80x9d).
In particular, the invention includes providing a loosely coupled CICS region in a data processing environment. The loosely coupled CICS region includes at least two of a plurality of address spaces each of which being associated with at least one machine.
The invention further includes providing a suite of functions, including the transient data queue functions, as a package in at least one CICS-API operating system server (COSS) within the loosely coupled CICS region. Each COSS operates in one of the at least two address spaces within the loosely coupled CICS region, and each COSS is capable of coordinated interaction with any other COSS within the loosely coupled CICS region.
Additionally, the invention includes providing an information resource within the loosely coupled CICS region, the information resource including a file for holding a transient data queue. Each COSS is capable to directly access the transient data queue from anywhere in the loosely coupled CICS region irrespective of which address space the COSS is operating in. In one aspect of the invention, this COSS capability is achieved by way of implementing a caching scheme and a transient data process which is invoked by the respective COSS.
Consequently, there is no affinity between the address space in which each COSS is operating and the address space being occupied by the transient data queue. Moreover, the information resource is shared by each COSS.